﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Seagull.Foundation
{
    /// <summary>
    /// 缓存拦截器的参数解释器。
    /// </summary>
    public interface ICacheParameterInterpreter
    {
        /// <summary>
        /// 将参数转换为可识别的key值。
        /// </summary>
        /// <param name="instance">执行函数的对象实例</param>
        /// <param name="method">执行的函数</param>
        /// <param name="arguments">传入的参数</param>
        /// <returns></returns>
        string Key(object instance, MethodBase method, object[] arguments);
    }
}
